﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BUS;
using LinQ_DTO;
using System.Xml;
namespace TemplateH4
{
    public partial class ListSP : System.Web.UI.Page
    {
        private string TenDSSP;
        private int LoaiSP;
        protected void Page_PreInit(object sender, EventArgs e)
        {
            String thm;
            thm = (string)Session["themeSelected"];
            if (thm != null)
            {
                Page.Theme = thm;
            }
            else
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(Server.MapPath("~/config.xml"));
                XmlNode root = doc.DocumentElement;
                String theme = root.SelectSingleNode("theme").ChildNodes[0].Value.Trim();
                Session.Add("themeSelected", theme);
                Page.Theme = theme;
            }

        }



        protected void Page_Load(object sender, EventArgs e)
        {
            TenDSSP = Request.QueryString["TenDS"];
            LoaiSP = Convert.ToInt32(Request.QueryString["LoaiSP"]);
            BindData_ListSP();
        }

        private void BindData_ListSP()
        {
            //Lay danh sach cac san pham host cua nam, bind vao dgrSpHotNam
            SanPhamBUS SpBus = new SanPhamBUS();
            List<shop_sanpham> ListSP = new List<shop_sanpham>();

            switch (TenDSSP)
            {
                case "HotNam":
                    ListSP = SpBus.LaySanPhamHotTheoLoaiPhai(true,LoaiSP);
                    this.lbTenDS.Text = "Các sản phẩm hot nam";
                    break;
                case "HotNu":
                    ListSP = SpBus.LaySanPhamHotTheoPhai(false);
                    this.lbTenDS.Text = "Các sản phẩm hot nữ";
                    break;
                case "KMNam":
                    ListSP = SpBus.LaySanPhamKhuyenMaiTheoPhai(true);
                    this.lbTenDS.Text = "Các sản phẩm khuyến mãi nam";
                    break;
                case "KMNu":
                    ListSP = SpBus.LaySanPhamKhuyenMaiTheoPhai(false);
                    this.lbTenDS.Text = "Các sản phẩm khuyến mãi nữ";
                    break;
                case "Nam":
                    ListSP = SpBus.LaySanPhamTheoPhai(true);
                    this.lbTenDS.Text = "Các sản phẩm dành cho nam";
                    break;
                case "Nu":
                    ListSP = SpBus.LaySanPhamTheoPhai(true);
                    this.lbTenDS.Text = "Các sản phẩm dành cho nữ";
                    break;
                case "Hot":
                    ListSP = SpBus.LaySanPhamHot();
                    this.lbTenDS.Text = "Các sản phẩm hot";
                    break;
                case "KM":
                    ListSP = SpBus.LaySanPhamKhuyenMai();
                    this.lbTenDS.Text = "Các sản phẩm khuyến mãi";
                    break;
                case "SanPham":
                    ListSP = SpBus.LayTatCaSanPham();
                    this.lbTenDS.Text = "Các sản phẩm hiện có";
                    break;
                case "TimKiem":
                    ListSP = (List<shop_sanpham>) Session["SearchSanPham"];
                    this.lbTenDS.Text = "Kết quả tìm kiếm";
                    break;

            }

            this.LstSP.DataSource = ListSP;
            LstSP.DataKeyNames = new string[] { "MaSanPham" };
            LstSP.DataBind();

           
        }


        protected void DataPaperProducts_PreRender(object sender, EventArgs e)
        {
            BindData_ListSP();
        }

        protected void LstSP_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                SanPhamBUS BusSp = new SanPhamBUS();
                NhanXetBUS BusNX = new NhanXetBUS();

                ListViewDataItem dataItem = (ListViewDataItem) e.Item;

                shop_sanpham Sp = (shop_sanpham)dataItem.DataItem;

                Label lbDiem = (Label)e.Item.FindControl("lbDiem");
                int Diem = BusSp.LayDiemCuaSanPham(Sp);
                lbDiem.Text = Diem.ToString();

                //Bind so nhan xet
                List<shop_comment> LstNX = BusNX.LayNhanXetTheoMaSP(Sp.MaSanPham);
                Label lbSoNX = (Label)e.Item.FindControl("lbNX");
                lbSoNX.Text = LstNX.Count.ToString();

                //Bind Noi Dung khuyen mai
                Label KM = (Label)e.Item.FindControl("lbKM");
                string NoiDungKM = string.Empty;
                foreach (shop_sanpham_khuyenmai Km in Sp.shop_sanpham_khuyenmais)
                {
                    NoiDungKM += Km.shop_khuyenmai.NoiDung;
                }
                if (NoiDungKM == "")
                    KM.Text = "Không";
                else
                    KM.Text = NoiDungKM;

                //Bind Tinh trang san pham
                Label lbTinhTrang = (Label)e.Item.FindControl("lbTinhTrang");
                lbTinhTrang.Text = Sp.SoLuongCon>0?"Còn hàng":"Hết hàng";


            }

        }

    }
}
